using System;
using System.Collections.Generic;
using System.Text;

namespace BookBarter
{
    public abstract class DatabaseException : Exception
    {
        public DatabaseException()
            : base()
        {
        }

        public DatabaseException(String msg)
            : base(msg)
        {
        }
        public DatabaseException(String msg, Exception ie)
            : base(msg, ie)
        {
        }
    }

    public abstract class MalformedDataRecordException : DatabaseException
    {
        public MalformedDataRecordException()
            : base()
        {
        }

        public MalformedDataRecordException(String msg)
            : base(msg)
        {
        }
        public MalformedDataRecordException(String msg, Exception ie)
            : base(msg, ie)
        {
        }
    }
    public class MalformedTradeRouteRecord : MalformedDataRecordException
    {
        public MalformedTradeRouteRecord()
            : base()
        {
        }

        public MalformedTradeRouteRecord(String msg)
            : base(msg)
        {
        }
        public MalformedTradeRouteRecord(String msg, Exception ie)
            : base(msg, ie)
        {
        }
    }
    public class MalformedBookHaveRecord : MalformedDataRecordException
    {
        public MalformedBookHaveRecord()
            : base()
        {
        }

        public MalformedBookHaveRecord(String msg)
            : base(msg)
        {
        }
        public MalformedBookHaveRecord(String msg, Exception ie)
            : base(msg, ie)
        {
        }
    }
    public class MalformedBookWantRecord : MalformedDataRecordException
    {
        public MalformedBookWantRecord()
            : base()
        {
        }

        public MalformedBookWantRecord(String msg)
            : base(msg)
        {
        }
        public MalformedBookWantRecord(String msg, Exception ie)
            : base(msg, ie)
        {
        }
    }
    public class MalformedBookRecord : MalformedDataRecordException
    {
        public MalformedBookRecord()
            : base()
        {
        }

        public MalformedBookRecord(String msg)
            : base(msg)
        {
        }
        public MalformedBookRecord(String msg, Exception ie)
            : base(msg, ie)
        {
        }
    }
    public class MalformedTradeLinkRecord : MalformedDataRecordException
    {
        public MalformedTradeLinkRecord()
            : base()
        {
        }

        public MalformedTradeLinkRecord(String msg)
            : base(msg)
        {
        }
        public MalformedTradeLinkRecord(String msg, Exception ie)
            : base(msg, ie)
        {
        }
    }
    public class MalformedAddressRecord : MalformedDataRecordException
    {
        public MalformedAddressRecord()
            : base()
        {
        }

        public MalformedAddressRecord(String msg)
            : base(msg)
        {
        }
        public MalformedAddressRecord(String msg, Exception ie)
            : base(msg, ie)
        {
        }
    }
    public class MalformedPersonRecord : MalformedDataRecordException
    {
        public MalformedPersonRecord()
            : base()
        {
        }

        public MalformedPersonRecord(String msg)
            : base(msg)
        {
        }
        public MalformedPersonRecord(String msg, Exception ie)
            : base(msg, ie)
        {
        }
    }

    public abstract class NoSuchRecordException : DatabaseException
    {
        public NoSuchRecordException()
            : base()
        {
        }

        public NoSuchRecordException(String msg)
            : base(msg)
        {
        }
        public NoSuchRecordException(String msg, Exception ie)
            : base(msg, ie)
        {
        }
    }
    public class NoSuchTradeRoute : NoSuchRecordException
    {
        public NoSuchTradeRoute()
            : base()
        {
        }

        public NoSuchTradeRoute(String msg)
            : base(msg)
        {
        }
        public NoSuchTradeRoute(String msg, Exception ie)
            : base(msg, ie)
        {
        }
    }
    public class NoSuchBookHave : NoSuchRecordException
    {
        public NoSuchBookHave()
            : base()
        {
        }

        public NoSuchBookHave(String msg)
            : base(msg)
        {
        }
        public NoSuchBookHave(String msg, Exception ie)
            : base(msg, ie)
        {
        }
    }
    public class NoSuchBookWant : NoSuchRecordException
    {
        public NoSuchBookWant()
            : base()
        {
        }

        public NoSuchBookWant(String msg)
            : base(msg)
        {
        }
        public NoSuchBookWant(String msg, Exception ie)
            : base(msg, ie)
        {
        }
    }
    public class NoSuchBook : NoSuchRecordException
    {
        public NoSuchBook()
            : base()
        {
        }

        public NoSuchBook(String msg)
            : base(msg)
        {
        }
        public NoSuchBook(String msg, Exception ie)
            : base(msg, ie)
        {
        }
    }
    public class NoSuchTradeLink : NoSuchRecordException
    {
        public NoSuchTradeLink()
            : base()
        {
        }

        public NoSuchTradeLink(String msg)
            : base(msg)
        {
        }
        public NoSuchTradeLink(String msg, Exception ie)
            : base(msg, ie)
        {
        }
    }
    public class NoSuchAddress : NoSuchRecordException
    {
        public NoSuchAddress()
            : base()
        {
        }

        public NoSuchAddress(String msg)
            : base(msg)
        {
        }
        public NoSuchAddress(String msg, Exception ie)
            : base(msg, ie)
        {
        }
    }
    public class NoSuchPerson : NoSuchRecordException
    {
        public NoSuchPerson()
            : base()
        {
        }

        public NoSuchPerson(String msg)
            : base(msg)
        {
        }
        public NoSuchPerson(String msg, Exception ie)
            : base(msg, ie)
        {
        }
    }

    public abstract class NewRecordInsertionException : DatabaseException
    {
        public NewRecordInsertionException()
            : base()
        {
        }

        public NewRecordInsertionException(String msg)
            : base(msg)
        {
        }
        public NewRecordInsertionException(String msg, Exception ie)
            : base(msg, ie)
        {
        }
    }
    public class NewTradeRouteException : DatabaseException
    {
        public NewTradeRouteException()
            : base()
        {
        }

        public NewTradeRouteException(String msg)
            : base(msg)
        {
        }

        public NewTradeRouteException(String msg, Exception ie)
            : base(msg, ie)
        {
        }
    }
    public class NewBookHaveException : DatabaseException
    {
        public NewBookHaveException()
            : base()
        {
        }

        public NewBookHaveException(String msg)
            : base(msg)
        {
        }

        public NewBookHaveException(String msg, Exception ie)
            : base(msg, ie)
        {
        }
    }
    public class NewBookWantException : DatabaseException
    {
        public NewBookWantException()
            : base()
        {
        }

        public NewBookWantException(String msg)
            : base(msg)
        {
        }

        public NewBookWantException(String msg, Exception ie)
            : base(msg, ie)
        {
        }
    }
    public class NewBookException : DatabaseException
    {
        public NewBookException()
            : base()
        {
        }

        public NewBookException(String msg)
            : base(msg)
        {
        }

        public NewBookException(String msg, Exception ie)
            : base(msg, ie)
        {
        }
    }
    public class NewTradeLinkException : DatabaseException
    {
        public NewTradeLinkException()
            : base()
        {
        }

        public NewTradeLinkException(String msg)
            : base(msg)
        {
        }

        public NewTradeLinkException(String msg, Exception ie)
            : base(msg, ie)
        {
        }
    }
    public class NewAddressException : DatabaseException
    {
        public NewAddressException()
            : base()
        {
        }

        public NewAddressException(String msg)
            : base(msg)
        {
        }

        public NewAddressException(String msg, Exception ie)
            : base(msg, ie)
        {
        }
    }
    public class NewPersonException : DatabaseException
    {
        public NewPersonException()
            : base()
        {
        }

        public NewPersonException(String msg)
            : base(msg)
        {
        }

        public NewPersonException(String msg, Exception ie)
            : base(msg, ie)
        {
        }
    }
}
